package com.charles.seckillData.domain;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author Charles-H
 * 
 * 银行卡实体类
 */
public class SysBank implements Serializable {
    
    private static final long serialVersionUID = 1L;

    /**
     * 银行卡id(自增)
     */
    private Long bank_id;

    /**
     * 客户id
     */
    private Long user_id;

    /**
     * 银行代码(方便测试数据库已默认：'BKCHCNBJ300')
     */
    private String bank_code;

    /**
     * 银行名称(方便测试数据库已默认：'XX银行')
     */
    private String bank_name;

    /**
     * 银行卡卡号
     */
    private String card_number;

    /**
     * 支付密码(加密后)
     * 支付密码要求 6位
     */
    private String pay_password;

    /**
     * 卡号余额(方便测试数据库已默认：'10000000000.00')
     */
    private BigDecimal card_balance;

    /**
     * 卡类型(方便测试数据库已默认：'借记卡')
     */
    private String card_type;

    /**
     * 是否锁定(0: 否 [默认], 1: 是)
     * 用于多次密码错误锁定，错误次数设置为 5 次
     */
    private String is_locked;

    /**
     * 卡状态(0: 正常 [默认], 1: 挂失)
     */
    private String status;

    /**
     * 发行日期(方便测试数据库已默认：'2000-01-01 00:00:00')
     */
    private Date issue_date;

    /**
     * 到期日期(方便测试数据库已默认：'2100-01-01 00:00:00')
     */
    private Date expiration_date;

    public SysBank() {
    }

    public SysBank(Long bank_id, Long user_id, String bank_code, String bank_name, String card_number, String pay_password, BigDecimal card_balance, String card_type, String is_locked, String status, Date issue_date, Date expiration_date) {
        this.bank_id = bank_id;
        this.user_id = user_id;
        this.bank_code = bank_code;
        this.bank_name = bank_name;
        this.card_number = card_number;
        this.pay_password = pay_password;
        this.card_balance = card_balance;
        this.card_type = card_type;
        this.is_locked = is_locked;
        this.status = status;
        this.issue_date = issue_date;
        this.expiration_date = expiration_date;
    }

    public Long getBank_id() {
        return bank_id;
    }

    public void setBank_id(Long bank_id) {
        this.bank_id = bank_id;
    }

    public Long getUser_id() {
        return user_id;
    }

    public void setUser_id(Long user_id) {
        this.user_id = user_id;
    }

    public String getBank_code() {
        return bank_code;
    }

    public void setBank_code(String bank_code) {
        this.bank_code = bank_code;
    }

    public String getBank_name() {
        return bank_name;
    }

    public void setBank_name(String bank_name) {
        this.bank_name = bank_name;
    }

    public String getCard_number() {
        return card_number;
    }

    public void setCard_number(String card_number) {
        this.card_number = card_number;
    }

    public String getPay_password() {
        return pay_password;
    }

    public void setPay_password(String pay_password) {
        this.pay_password = pay_password;
    }

    public BigDecimal getCard_balance() {
        return card_balance;
    }

    public void setCard_balance(BigDecimal card_balance) {
        this.card_balance = card_balance;
    }

    public String getCard_type() {
        return card_type;
    }

    public void setCard_type(String card_type) {
        this.card_type = card_type;
    }

    public String getIs_locked() {
        return is_locked;
    }

    public void setIs_locked(String is_locked) {
        this.is_locked = is_locked;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getIssue_date() {
        return issue_date;
    }

    public void setIssue_date(Date issue_date) {
        this.issue_date = issue_date;
    }

    public Date getExpiration_date() {
        return expiration_date;
    }

    public void setExpiration_date(Date expiration_date) {
        this.expiration_date = expiration_date;
    }

    @Override
    public String toString() {
        return "SysBank{" +
                "bank_id=" + bank_id +
                ", user_id=" + user_id +
                ", bank_code='" + bank_code + '\'' +
                ", bank_name='" + bank_name + '\'' +
                ", card_number='" + card_number + '\'' +
                ", pay_password='" + pay_password + '\'' +
                ", card_balance=" + card_balance +
                ", card_type='" + card_type + '\'' +
                ", is_locked='" + is_locked + '\'' +
                ", status='" + status + '\'' +
                ", issue_date=" + issue_date +
                ", expiration_date=" + expiration_date +
                '}';
    }
}
